package com.ys.day28.socket;

import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Arrays;

/**
 * 描述: P3SocketInetAddress
 *它表示网络编程的IP地址，封装了网络编程所有和IP相关的信息，我们无法通过new创建对象，只能通过提供的静态方法getByName(String)方法创建对象。
 *
 *
 * Socket是JavaTCP协议网络编程通信一种技术
 * 1是面向连接;
 * 2面向流
 * 3三次握手 连接  四次挥手,断开
 * @author CodeYang
 * @version 2021/1/8 19:22
 */
public class P3SocketInetAddress {

    public static void main(String[] args) {
        /**
         * 获得对应 主机的网络信息,如主机名,ip地址,
         * 给定主机名，确定主机的IP地址
         */
        try {
            InetAddress inetAddress = InetAddress.getByName("douhuvillage.cn");
            // baidu.com/39.156.69.79  主机名/ip地址

            System.out.println(inetAddress);
            /**
             * 此IP地址的主机名，或者如果安全检查不允许该操作，则为IP地址的文本表示形式。
             */
            System.out.println(inetAddress.getHostName());
            /**
             * 字符串格式的原始IP地址
             */
            System.out.println(inetAddress.getHostAddress());
            /**
             * 返回这个InetAddress对象的原始IP地址。结果是网络字节顺序:地址的最高字节在getAddress()[0]中。
             */
            System.out.println(Arrays.toString(inetAddress.getAddress()));
        } catch (UnknownHostException e) {
            e.printStackTrace();
        }
    }

}
